name: Unit tests

on:
  workflow_dispatch:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env:
  GO_VERSION: "1.20"
  USE_BROTLI: 1

jobs:
  unittest:
    name: all_unittests
    runs-on: ubuntu-20.04
    steps:
      - name: Install deps
        run: sudo apt-get install liblzo2-dev

      - name: Check out code into the Go module directory
        uses: actions/checkout@v4

      - name: Set up Go 1.x
        uses: actions/setup-go@v5
        with:
          go-version: ${{ env.GO_VERSION }}
        id: go

      - name: Get dependencies
        run: |
          go get -v -t -d ./...
          if [ -f Gopkg.toml ]; then
           curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
           dep ensure
          fi

      - name: Test
        run: make all_unittests
        env:
          USE_BROTLI: 1
          USE_LIBSODIUM: 1
          USE_LZO: 1
          TEST_MODIFIER: -race

